package com.kk.springboot_001.controller;

import com.kk.springboot_001.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class ViewController {
    @Autowired
    private UserService userService;

    /**
     * 显示注册页面
     * @return
     */
    @GetMapping("/register")
    public String showRegisterPage() {
        return "register";
    }

    /**
     * 显示修改用户信息页面
     * @param authentication （用于获取）把用户的详细信息封装起来
     * @param model （用于传递）控制器处理完业务逻辑后，需要把一些数据（比如用户信息、列表数据等）展示给前端页面。Model 就是用来存放这些数据的“篮子”
     * @return
     */
    @GetMapping("/update-info")
    public String showUpdateInfoPage(Authentication authentication, Model model) {
        // 根据用户名查询用户ID
        String userName = authentication.getName();
        Integer userId = userService.getUserIdByUserName(userName);

        // 将当前登录用户的用户名和ID保存到model中，页面中的表单会预先填充这些信息，方便用户查看和修改。
        model.addAttribute("userName", userName);
        model.addAttribute("userId", userId);
        return "update-info";
    }


}
